
    Annotation.implement
    (
        {
            /**
             * @private
             * @type {String}
             */
            name: null
            
            /**
             * @private
             * @type {String}
             */
        ,   value: null
            
            /**
             * @deprecated
             * @private
             * @type {ClassFile}
             */
        ,   declarer: null
            
            /**
             * @deprecated
             * @param {Object} value
             * @return {Boolean}
             */
        ,   equals: function (value) 
            {
                return Annotation.is(value) && this.name === value.name;
            }
            
            /**
             * @deprecated
             * @param {Object} value
             * @return {Boolean}
             */
        ,   isType: function (value) 
            {
                return this.name === value;
            }
            
            /**
             * @return {String}
             * @override
             */
        ,   toString: function () 
            {
                return this.name + ': ' + this.value + ';';
            }            
        }
    );
    
    /**
     * A value object representing an annotation declared in a source file.
     * @param {String} name
     * @param {String} value
     * @param {ClassFile} declarer
     * @constructor
     */
    function Annotation (name, value, declarer) 
    {
        this.name= name;
        this.value=value;
        this.declarer= declarer;
    };
